1. Field
The present systems, methods and apparatus relate to scalable quantum computing and the local programming of quantum processor elements.
2. Description of the Related Art
A Turing machine is a theoretical computing system, described in 1936 by Alan Turing. A Turing machine that can efficiently simulate any other Turing machine is called a Universal Turing Machine (UTM). The Church-Turing thesis states that any practical computing model has either the equivalent or a subset of the capabilities of a UTM.
A quantum computer is any physical system that harnesses one or more quantum effects to perform a computation. A quantum computer that can efficiently simulate any other quantum computer is called a Universal Quantum Computer (UQC).
In 1981 Richard P. Feynman proposed that quantum computers could be used to solve certain computational problems more efficiently than a UTM and therefore invalidate the Church-Turing thesis. See e.g., Feynman R. P., “Simulating Physics with Computers”, International Journal of Theoretical Physics, Vol. 21 (1982) pp. 467-488. For example, Feynman noted that a quantum computer could be used to simulate certain other quantum systems, allowing exponentially faster calculation of certain properties of the simulated quantum system than is possible using a UTM.
Approaches to Quantum Computation
There are several general approaches to the design and operation of quantum computers. One such approach is the “circuit model” of quantum computation. In this approach, qubits are acted upon by sequences of logical gates that are the compiled representation of an algorithm. Circuit model quantum computers have several serious barriers to practical implementation. In the circuit model, it is required that qubits remain coherent over time periods much longer than the single-gate time. This requirement arises because circuit model quantum computers require operations that are collectively called quantum error correction in order to operate. Quantum error correction cannot be performed without the circuit model quantum computer's qubits being capable of maintaining quantum coherence over time periods on the order of 1,000 times the single-gate time. Much research has been focused on developing qubits with coherence sufficient to form the basic information units of circuit model quantum computers. See e.g., Shor, P. W. “Introduction to Quantum Algorithms”, arXiv.org:quant-ph/0005003 (2001), pp. 1-27. The art is still hampered by an inability to increase the coherence of qubits to acceptable levels for designing and operating practical circuit model quantum computers.
Another approach to quantum computation comprises using the natural physical evolution of a system of coupled quantum systems as a computational system. This approach does not make critical use of quantum gates and circuits. Instead, starting from a known initial Hamiltonian, it relies upon the guided physical evolution of a system of coupled quantum systems wherein the problem to be solved has been encoded in the terms of the system's Hamiltonian, so that the final state of the system of coupled quantum systems contains information relating to the answer to the problem to be solved. This approach does not require long qubit coherence times. Examples of this type of approach include adiabatic quantum computation, cluster-state quantum computation, one-way quantum computation, quantum annealing and classical annealing, and are described, for example, in Farhi, E. et al., “Quantum Adiabatic Evolution Algorithms versus Simulated Annealing” arXiv.org:quant-ph/0201031 (2002), pp 1-16.
Embodiments of Quantum Computers
A quantum computer is any computing device that makes direct use of quantum mechanical phenomena, such as superposition and entanglement, to solve computational problems. To date, many different systems have been proposed and studied as physical realizations of quantum computers. Examples of such systems include the following devices: ion traps, quantum dots, harmonic oscillators, cavity quantum electrodynamics devices (QED), photons and nonlinear optical media, heteropolymers, cluster-states, anyons, topological systems, systems based on nuclear magnetic resonance (NMR), and systems based on spins in semiconductors. For further background on these systems, see Nielsen and Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Cambridge (2000), pp. 277-352; Williams and Clearwater, Explorations in Quantum Computing, Springer-Verlag, New York, Inc. (1998), pp. 241-265; Nielsen, Micheal A., “Cluster-State Quantum Computation”, arXiv.org:quant-ph/0504097 v2 (2005), pp 1-15; and Brennen, Gavin K. et al., “Why should anyone care about computing with anyons?”, arXiv.org:quant-ph/0704.2241 (2007), pp 1-19.
In brief, an example of an ion trap quantum computer is a computer structure that employs ions that are confined in free space using electromagnetic fields. Qubits may be represented by the stable electronic states of each ion. An example of a quantum dot quantum computer is a computer structure that employs electrons that have been confined to small regions where their energies can be quantized in such a way that each dot may be isolated from the other dots. An example of a harmonic oscillator is computer structure that employs a particle in a parabolic potential well. An example of an optical photon quantum computer is a computer structure in which qubits are represented by individual optical photons which may be manipulated using beam-splitters, polarization filters, phase shifters, and the like. An example of a cavity QED quantum computer is a computer structure that employs single atoms within optical cavities where the single atoms are coupled to a limited number of optical modes. An example of an NMR quantum computer is a computer structure in which qubits are encoded in the spin states of at least one of the nuclei in the atoms comprising a molecular sample. An example of a heteropolymer quantum computer is a computer structure that employs a linear array of atoms as memory cells, where the state of the atoms provides the basis for a binary arithmetic. An example of a quantum computer that uses electron spins in semiconductors is the Kane computer, in which donor atoms are embedded in a crystal lattice of, for example, silicon. An example of a topological quantum computer is a computer structure that employs two-dimensional “quasiparticles” called anyons whose world lines cross to form braids in a three-dimensional spacetime. These braids may then be used as the logic gates that make up the computer structure. Lastly, an example of a cluster-state quantum computer is a computer structure that employs a plurality of qubits that have been entangled into one quantum state, referred to as a cluster-state. “Cluster-state” generally refers to a particular quantum computing method, and those of skill in the art will appreciate that the present systems, methods and apparatus may incorporate all forms of quantum computing, including the various hardware implementations and algorithmic approaches. Those of skill in the art will also appreciate that the descriptions of various embodiments of quantum computers provided herein are intended only as examples of some different physical realizations of quantum computation. The present systems, methods and apparatus are in no way limited by or to these descriptions. Those of skill in the art will also appreciate that a quantum processor may be embodied in a system other than those described above.
Qubits
As mentioned previously, qubits can be used as fundamental units of information for a quantum computer. As with bits in UTMs, qubits can refer to at least two distinct quantities; a qubit can refer to the actual physical device in which information is stored, and it can also refer to the unit of information itself, abstracted away from its physical device.
Qubits generalize the concept of a classical digital bit. A classical information storage device can encode two discrete states, typically labeled “0” and “1”. Physically these two discrete states are represented by two different and distinguishable physical states of the classical information storage device, such as direction or magnitude of magnetic field, current, or voltage, where the quantity encoding the bit state behaves according to the laws of classical physics. A qubit also contains two discrete physical states, which can also be labeled “0” and “1”. Physically these two discrete states are represented by two different and distinguishable physical states of the quantum information storage device, such as direction or magnitude of magnetic field, current, or voltage, where the quantity encoding the bit state behaves according to the laws of quantum physics. If the physical quantity that stores these states behaves quantum mechanically, the device can additionally be placed in a superposition of 0 and 1. That is, the qubit can exist in both a “0” and “1” state at the same time, and so can perform a computation on both states simultaneously. In general, N qubits can be in a superposition of 2N states. Quantum algorithms make use of the superposition property to speed up some computations.
In standard notation, the basis states of a qubit are referred to as the |0 and |1 states. During quantum computation, the state of a qubit, in general, is a superposition of basis states so that the qubit has a nonzero probability of occupying the |0 basis state and a simultaneous nonzero probability of occupying the |1 basis state. Mathematically, a superposition of basis states means that the overall state of the qubit, which is denoted |Ψ, has the form |Ψ=a|0+b|1, where a and b are coefficients corresponding to the probabilities |a|2 and |b|2, respectively. The coefficients a and b each have real and imaginary components, which allows the phase of the qubit to be characterized. The quantum nature of a qubit is largely derived from its ability to exist in a coherent superposition of basis states and for the state of the qubit to have a phase. A qubit will retain this ability to exist as a coherent superposition of basis states when the qubit is sufficiently isolated from sources of decoherence.
To complete a computation using a qubit, the state of the qubit is measured (i.e., read out). Typically, when a measurement of the qubit is performed, the quantum nature of the qubit is temporarily lost and the superposition of basis states collapses to either the |0 basis state or the |1 basis state and thus regaining its similarity to a conventional bit. The actual state of the qubit after it has collapsed depends on the probabilities |a|2 and |b|2 immediately prior to the readout operation.
Superconducting Qubits
One hardware approach to quantum computation uses integrated circuits formed of superconducting materials, such as aluminum or niobium. The technologies and processes involved in designing and fabricating superconducting integrated circuits are similar to those used for conventional integrated circuits.
Superconducting qubits are a type of superconducting device that can be included in a superconducting integrated circuit. Superconducting qubits can be separated into several categories depending on the physical property used to encode information. For example, they may be separated into charge, flux and phase devices, as discussed in, for example Makhlin et al., 2001, Reviews of Modern Physics 73, pp. 357-400. Charge devices store and manipulate information in the charge states of the device, where elementary charges consist of pairs of electrons called Cooper pairs. A Cooper pair has a charge of 2e and consists of two electrons bound together by, for example, a phonon interaction. See e.g., Nielsen and Chuang, Quantum Computation and Quantum Information, Cambridge University Press, Cambridge (2000), pp. 343-345. Flux devices store information in a variable related to the magnetic flux through some part of the device. Phase devices store information in a variable related to the difference in superconducting phase between two regions of the phase device. Recently, hybrid devices using two or more of charge, flux and phase degrees of freedom have been developed. See e.g., U.S. Pat. No. 6,838,694 and US Patent Application No. 2005-0082519.
Examples of flux qubits that may be used include rf-SQUIDs, which include a superconducting loop interrupted by one Josephson junction, or a compound junction (where a single Josephson junction is replaced by two parallel Josephson junctions), or persistent current qubits, which include a superconducting loop interrupted by three Josephson junctions, and the like. See e.g., Mooij et al., 1999, Science 285, 1036; and Orlando et al., 1999, Phys. Rev. B 60, 15398. Other examples of superconducting qubits can be found, for example, in Il'ichev et al., 2003, Phys. Rev. Lett. 91, 097906; Blatter et al., 2001, Phys. Rev. B 63, 174511, and Friedman et al., 2000, Nature 406, 43. In addition, hybrid charge-phase qubits may also be used.
The qubits may include a corresponding local bias device. The local bias devices may include a metal loop in proximity to a superconducting qubit that provides an external flux bias to the qubit. The local bias device may also include a plurality of Josephson junctions. Each superconducting qubit in the quantum processor may have a corresponding local bias device or there may be fewer local bias devices than qubits. In some embodiments, charge-based readout and local bias devices may be used. The readout device(s) may include a plurality of dc-SQUID magnetometers, each inductively connected to a different qubit within a topology. The readout device may provide a voltage or current. DC-SQUID magnetometers typically include a loop of superconducting material interrupted by at least one Josephson junction.
Superconducting Quantum Processor
A computer processor may take the form of an analog processor, for instance a quantum processor such as a superconducting quantum processor. A superconducting quantum processor may include a number of qubits and associated local bias devices, for instance two or more superconducting qubits. Further detail and embodiments of exemplary superconducting quantum processors that may be used in conjunction with the present systems, methods, and apparatus are described in US Patent Publication No. 2006-0225165; U.S. Provisional Patent Application Ser. No. 60/872,414, filed Jan. 12, 2007, entitled “System, Devices and Methods for Interconnected Processor Topology”; U.S. Provisional Patent Application Ser. No. 60/956,104, filed Aug. 16, 2007, entitled “Systems, Devices, And Methods For Interconnected Processor Topology”; and U.S. Provisional Patent Application Ser. No. 60/986,554, filed Nov. 8, 2007 and entitled “Systems, Devices and Methods for Analog Processing.”
A superconducting quantum processor may include a number of coupling devices operable to selectively couple respective pairs of qubits. Examples of superconducting coupling devices include rf-SQUIDs and dc-SQUIDs, which couple qubits together by flux. SQUIDs include a superconducting loop interrupted by one Josephson junction (an rf-SQUID) or two Josephson junctions (a dc-SQUID). The coupling devices may be capable of both ferromagnetic and anti-ferromagnetic coupling, depending on how the coupling device is being utilized within the interconnected topology. In the case of flux coupling, ferromagnetic coupling implies that parallel fluxes are energetically favorable and anti-ferromagnetic coupling implies that anti-parallel fluxes are energetically favorable. Alternatively, charge-based coupling devices may also be used. Other coupling devices can be found, for example, in U.S. Patent Publication Number 2006-0147154 and U.S. Provisional Patent Application Ser. No. 60/886,253 filed Jan. 23, 2007 and entitled “Systems, Devices, and Methods for Controllably Coupling Qubits”. Respective coupling strengths of the coupling devices may be tuned between zero and a maximum value, for example, to provide ferromagnetic or anti-ferromagnetic coupling between qubits.
Regardless of the specific hardware being implemented, managing a single qubit may require control over a number of parameters. Conventionally, this requirement has necessitated outside communication (that is, communication from outside of the quantum processor architecture) with each individual qubit. However, the overall processing power of the quantum computer increases with the number of qubits in the system. Therefore, high capacity quantum computers that exceed the abilities of conventional supercomputers must manage a large number of qubits and thus the conventional approach of employing outside control over multiple parameters on each individual qubit requires a complicated system for programming qubit parameters.
Thus, the scalability of quantum processors is limited by the complexity of the qubit parameter control system and there remains a need in the art for a scalable qubit parameter control system.